﻿using AnimalWithEvents;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;

namespace TripleTests
{
    [TestClass()]
    public class AnimalTest
    {
        //[TestMethod()]
        //public void AnimalConstructorTest()
        //{
        //    Animal target = new Animal();
        //    Assert.Inconclusive("TODO: Implement code to verify target");
        //}

        [TestMethod()]
        [DeploymentItem("AnimalWithEvents.dll")]
        public void OnPropertyChangedTest()
        {
            Animal_Accessor target = new Animal_Accessor(); // TODO: Initialize to an appropriate value
            Animal animal = new Animal();
            int countEventFired = 0;
            animal.PropertyChanged += new PropertyChangedEventHandler((object sender, PropertyChangedEventArgs eventArgs) => { countEventFired++;});
            animal.Name = "pe6o";
            animal.Kind = "devGuy";
            animal.Name = "pe6o";
            Assert.AreEqual(2, countEventFired);
        }

        ///// <summary>
        /////A test for Kind
        /////</summary>
        //[TestMethod()]
        //public void KindTest()
        //{
        //    Animal target = new Animal(); // TODO: Initialize to an appropriate value
        //    string expected = string.Empty; // TODO: Initialize to an appropriate value
        //    string actual;
        //    target.Kind = expected;
        //    actual = target.Kind;
        //    Assert.AreEqual(expected, actual);
        //    Assert.Inconclusive("Verify the correctness of this test method.");
        //}

        ///// <summary>
        /////A test for Name
        /////</summary>
        //[TestMethod()]
        //public void NameTest()
        //{
        //    Animal target = new Animal(); // TODO: Initialize to an appropriate value
        //    string expected = string.Empty; // TODO: Initialize to an appropriate value
        //    string actual;
        //    target.Name = expected;
        //    actual = target.Name;
        //    Assert.AreEqual(expected, actual);
        //    Assert.Inconclusive("Verify the correctness of this test method.");
        //}
    }
}
